package com.eling.elcms.travel.service;

import com.eling.elcms.core.service.IGenericManager;
import com.eling.elcms.travel.model.*;
import com.eling.elcms.travel.model.view.ProductView;

import java.util.List;

public interface IProductRuleDetailManager extends IGenericManager<ProductRuleDetail, Long>{

	List<ProductRuleDetail> saveall(ProductView cond);

	List<ProductRuleDetail> queryonly(ProductRuleDetail cond);
	
	/**
	 * 获取指定类型的产品规则
	 * @param detail 产品定义明细
	 * @param type 规则类型
	 * @return 产品规则
	 */
	SettlementsRule getPdSetlRuleByType(ProductRuleDetail detail, RuleType type);
	
	/**
	 * 获取指定类型的产品规则范围
	 * @param detail 产品定义明细
	 * @param type 规则类型
	 * @return 产品规则范围
	 */
	List<RuleScope> getPdSetlRuleScopeByType(ProductRuleDetail detail, RuleType type);

	List<ProductBatch> queryBatch(Long pkProductType); 

}
